The IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks. IP Multimedia services provide a dynamic combination of voice, video, messaging, data, etc. within the same session.
The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between user terminals. The Session Description Protocol (SDP), carried by SIP signals, is used to describe and negotiate the media components of the session. Whilst SIP was created as a user-to-user protocol, the IMS allows operators and service providers to control user access to services and to charge users accordingly.
FIG. 1 illustrates schematically how the IMS fits into the mobile network architecture in the case of a General Packet Radio Service (GPRS) access network. As shown in FIG. 1 control of communications occurs at three layers (or planes). The lowest layer is the Connectivity Layer 1, also referred to as the bearer plane and through which signals are directed to/from user equipment, UE, accessing the network. The entities within the connectivity layer 1 that connect an IMS subscriber to IMS services form a network that is referred to as the IP-Connectivity Access Network, IP-CAN. The GPRS network includes various GPRS Support Nodes (GSNs). A gateway GPRS support node (GGSN) 2 acts as an interface between the GPRS backbone network and other networks (radio network and the IMS network). The middle layer is the Control Layer 4, and at the top is the Application Layer 6.
The IMS 3 includes a core network 3a, which operates over the middle, Control Layer 4 and the Connectivity Layer 1, and a Service Network 3b. The IMS core network 3a includes nodes that send/receive signals to/from the GPRS network via the GGSN 2a at the Connectivity Layer 1 and network nodes that include Call/Session Control Functions (CSCFs) 5, which operate as SIP proxies within the IMS in the middle, Control Layer 4. The 3GPP architecture defines three types of CSCFs: the Proxy CSCF (P-CSCF) which is the first point of contact within the IMS for a SIP terminal; the Serving CSCF (S-CSCF) which provides services to the user that the user is subscribed to; and the Interrogating CSCF (I-CSCF) whose role is to identify the correct S-CSCF and to forward to that S-CSCF a request received from a SIP terminal via a P-CSCF. The top, Application Layer 6 includes the IMS service network 3b. Application Servers (AS) 7 are provided for implementing IMS service functionality
IMS is intended to deliver services such as multimedia telephony, IPTV, messaging, presence, push-to-talk etc. IMS is used to handle user authentication and authorization and other security functions, addressing and session establishment, end user charging and inter-operator accounting, service logic, correct quality of service, and inter operator inter-working. An IMS operator is typically a mobile, fixed or Internet access operator.
IMS is access independent, and therefore the core IMS network has no knowledge of a user's access type and not need to know this information, since the way of working should be the same regardless of the access type.
Every IMS user is provided with one or more Private User Identities (IMPI). An IMPI is assigned by the home network operator, and used for by the network for registering the user having the IMPI with the network. A user having an IMPI may have one or Public User Identities (IMPU). An IMPU can be used by the user for requesting communications to other users (in the form of SIP URI or a tel URL). An example relationship between the IMS subscription, IMPIs and IMPUs is illustrated in FIG. 2, in which an IMS subscriber has two IMPIs and 6 IMPUs. Each IMPU is in turn associated with a service profile, which can set rules for how communications are handled depending on which IMPU has been used for a session.
As shown in FIG. 2, IMPUs may be shared between multiple IMPIs within the same IMS subscription. For example, in FIG. 2, Public User Identity 3 can be used by both Private User Identity 1 and Private User Identity 2. It is therefore possible for a particular IPMU to be simultaneously registered from multiple UEs that use different IMPIs and different contact addresses. If an IMPU is shared among the IMPIs of a subscription, then it is assumed that all IMPIs share the IMPU.
Referring now to FIG. 3, a general registration process is described, with the following numbering corresponding to the numbering used in FIG. 3:    S1. A user's UE 8 sends a Register information flow to a Proxy-Call session Control Function (P-CSCF) 9. The information includes the user's IMPI, IMPU, home network domain name, and/or UE IP address.    S2. The P-CSCF 9 examines the “home domain name” to discover the entry point to the user's home network (i.e. the I CSCF 10). The P-CSCF 9 sends the Register information flow to the I-CSCF 10, the information now including the P-CSCF address/name, IMPU, IMPI, P-CSCF network identifier, and UE IP address.    S3. The I-CSCF 10 sends a Cx-Query/Cx-Select-Pull information flow to the Home Subscriber Server 11 in the user's home network (containing the IMPI, IMPU and P-CSCF network identifier). The HSS 11 checks to ensure that the user is registered already. The HSS 11 indicates whether the user is allowed to register in that P-CSCF 9 network (identified by the P-CSCF network identifier) according to the User subscription and operator limitations/restrictions if any. At his point, a Roaming Restriction may be checked to ascertain whether the user is connected using fixed or mobile access. A P-Access-Network-Info (PANI) header is used to differentiate the access type and therefore the roaming checks to apply. If the user is using mobile access, the HSS 11 may send a MAP-ANY-TIME-obtain an SGSN number. When receiving the response, the HSS 11 analyses the received SGSN number, which indicates if the user is located in a home or in a visited area. If the user is roaming in a visited area and the SGSN number matches a configured GPRS roaming area, the user is allowed to roam. The HSS stores location information indicating an area in which the user is roaming. Alternatively, the HSS may send a Get Master Session Information message by means of a Cx-like User-Data-Request (UDR) message to a Session Manager (AAA). When receiving a response, the HSS 11 analyses the received SGSN MCC-MNC number that indicates if the user is located in the home or in a visited area. If the user is roaming and the SGSN MCC-MNC number matches a configured GPRS roaming area, the user is allowed to roam. The HSS 11 stores this location information. In either case, the HSS stores the location information.    S4. A Cx-Query Resp/Cx-Select-Pull Resp is sent from the HSS 11 to the I-CSCF 10, containing an identity of the S-CSCF 12, if it is known by the HSS 12, and the capabilities of the S-CSCF 12, if it is necessary to select a new S-CSCF.    S5. The I-CSCF 10 sends the register information flow (P-CSCF address/name, Public User Identity, Private User Identity, P CSCF network identifier, UE IP address, I-CSCF (THIG) in case network configuration hiding is desired) to the selected S-CSCF 12.    S6. The S-CSCF 12 sends a Cx-Put/Cx-Pull (Public User Identity, Private User Identity, S CSCF name) to the HSS 11.    S7. The HSS 11 stores the S-CSCF 12 identity for that user and returns the information flow Cx-Put Resp/Cx-Pull Resp (user profile) to the S-CSCF 12. The location information obtained in step S3 may also be returned to the S-CSCF 12. Note this profile request is performed only if the S-CSCF 12 has no information previously stored for the user's IMPU.    S8. Based on the user profile, the S-CSCF 12 performs any appropriate service control procedures.    S9. The S-CSCF 12 sends a 200 OK message (containing the home network contact information) to the I-CSCF 10.    S10. The I-CSCF 10 sends a 200 OK message (containing the home network contact information) to the P-CSCF 9. The I-CSCF 10 releases all registration information after sending the 200 OK.    S11. The P-CSCF 9 stores the received home network contact information, and sends a 200 OK message to the UE 8.
3GPP Rel-7 allows a user to register one or more contacts per IMPI/IMPU pair. Contacts identify a terminal and the software running on the terminal. It is possible to register several contacts for a user via fixed and mobile access simultaneously. Note that Contacts can also be used to identify the same terminal using two different accesses to access the network. Contacts are known in the S-CSCF 12, but not in the HSS 11. FIG. 4 illustrates example configurations of contacts, IMPUs, IMPIs and subscriptions. In FIG. 4a, the same IMPI and IMPU are registered simultaneously via fixed and mobile access using different contacts. In FIG. 4b, the IMPI is registered simultaneously via fixed and mobile access by using different IMPUs.